﻿#pragma once
//定义顺序表的结构
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include "Condact.h"
//方便以后修改类型,如果今后要修改成char,只修改这一行代码就可以
//typedef int SLDataType;
typedef peoInfo SLDataType;//将整型替换为通讯录

/*
#define N 100
//静态顺序表
struct SeqList
{
	int arr[N];
	int size;
};
*/

//动态顺序表
struct SeqList
{
	SLDataType* arr;
	int size;//顺序表当前有效的数据个数
	int capacity;//空间大小
};

typedef struct SeqList SL;//对结构体类型重命名
//顺序表的初始化
void SLInit(SL* ps);
//顺序表的销毁
void SLDestroy(SL* ps);
//扩容
void SLCheckCapacity(SL* ps);
//打印顺序表
void SLPrint(SL* ps);
//尾部插入数据
void SLPushBack(SL* ps, SLDataType x);
//头部插入数据
void SLPushFront(SL* ps, SLDataType x);
//尾部删除数据
void SLPopBack(SL* ps);
//头部删除数据
void SLPopFront(SL* ps);
//指定位置插入数据
void SLInsert(SL* ps, int pos, SLDataType x);
//指定位置删除数据
void SLErase(SL* ps, int pos);
//查找顺序表中的数据
int SLFind(SL* ps, SLDataType x);